package com.tjhk.common.utils.thread;


/**
 * @author ：little grape
 * @description：TODO
 * @date ：2023/7/16 19:10
 */
public enum RejectPolicy {
    /** 处理程序遭到拒绝将抛出RejectedExecutionException */
    ABORT(1),
    /** 放弃当前任务 */
    DISCARD(2),
    /** 如果执行程序尚未关闭，则位于工作队列头部的任务将被删除，然后重试执行程序（如果再次失败，则重复此过程） */
    DISCARD_OLDEST(3),
    /** 由主线程来直接执行 */
    CALLER_RUNS(4);

    private final int value;

    RejectPolicy(int policy) {
        this.value = policy;
    }

    /**
     * 获取RejectedExecutionHandler枚举值
     *
     * @return RejectedExecutionHandler
     */
    public int getValue() {
        return this.value;
    }
}
